Dynamic memory allocation
| In C++, the new and delete operators provide |
| build-in language support for dynamic memory |
| allocation and deallocation. |
| This feature has several benefits: |
| n | Reduces common programmer errors: it is easy to |
| forget to multiply the number of objects being |
| allocated by sizeof when using malloc. |
| n | Enhances source code clarity: generally, there is no |
| need to: (1) declare operator new and delete, (2) |
| explicitly use casts, or (3) explicitly check the return |
| value. |
| n | Improves run-time efficiency: (1) users can redefine |
| operator new and delete globally and also define then
| on a per-class basis and (2) calls can be inlined. |